# 类的继承 人力系统
#-员工分为两类:全职员工 FullTimeEmployee、兼职员工 PartTimeEmployee。
#-全职和兼职都有"姓名 name"、"工号 id“属性,
# 都具备"打印信息 print_info"(打印姓名、工号)方法。
#-全职有"月薪 monthly_salary"属性，
# 兼职有"日薪 daily_salary"属性、"每月工作天数 work_days"的属性。
#-全职和兼职都有"计算月薪 calculate_monthly_pay"的方法，但具体计算过程不一样

class Employee():
    def __init__(self,name,employee_id):
        self.name = name
        self.employee_id = employee_id

    def print_info(self):
        print("打印员工信息")
        print(f"员工姓名是：{self.name}")
        print(f"员工工号是：{self.employee_id}")

    def calculate_monthly_pay(self):
        print("计算月薪的方法")

class FullTimeEmployee(Employee):
    def __init__(self,name,employee_id,monthly_pay):
        super().__init__(name,employee_id)
        self.monthly_pay = monthly_pay

    def calculate_monthly_pay(self):
        print("全职计算方法：实际出勤/应出勤天数*月薪")

class PartTimeEmployee(Employee):
    def __init__(self,name,employee_id,daily_salary,work_day):
        super().__init__(name,employee_id)
        self.daily_salary = daily_salary
        self.work_day = work_day

    def calculate_monthly_pay(self):
        print(f"兼职工资：{self.daily_salary * self.work_day}")



human1 = FullTimeEmployee("jack",148024,8000)
human2 = PartTimeEmployee("tim",200451,200,20)

human1.print_info()
human1.calculate_monthly_pay()

human2.print_info()
human2.calculate_monthly_pay()


